From bd00454808f62d1ad31aea8b00a8fc1f0dc68300 Mon Sep 17 00:00:00 2001 From: robertl Date: Sat, 3 Dec 2005 03:05:04 +0000 Subject: [PATCH] Allow MXF to do it's "characters are both required and disallowed" thing. --- gpsbabel/csv_util.c | 10 +++++++++- gpsbabel/internal_styles.c | 4 ++-- gpsbabel/reference/mxf.mxf | 18 +++++++++--------- gpsbabel/style/mxf.style | 2 +- 4 files changed, 21 insertions(+), 13 deletions(-) diff --git a/gpsbabel/csv_util.c b/gpsbabel/csv_util.c index a4e78e759..00be882f0 100644 --- a/gpsbabel/csv_util.c +++ b/gpsbabel/csv_util.c @@ -1379,7 +1379,15 @@ xcsv_waypt_pr(const waypoint *wpt) obuff = csv_stringclean(buff, xcsv_file.badchars); - fprintf (xcsv_file.xcsvfp, "%s", obuff); + /* As a special case (pronounced "horrible hack") we allow + * ""%s"" to smuggle bad characters through. + */ + if (0 == strcmp(fmp->printfc, "\"%s\"")) { + fprintf (xcsv_file.xcsvfp, "\"%s\"", obuff); + } else { + fprintf (xcsv_file.xcsvfp, "%s", obuff); + } + xfree(obuff); } diff --git a/gpsbabel/internal_styles.c b/gpsbabel/internal_styles.c index d8bc29707..e1724fe13 100644 --- a/gpsbabel/internal_styles.c +++ b/gpsbabel/internal_styles.c @@ -201,7 +201,7 @@ static char garmin301[] = "# HEADER STUFF:\n" "#\n" "PROLOGUE Garmin 301 data __FILE__ \n" -"PROLOGUE Timestamp,Latitude, Longitude, Atlitude(ft), heart rate\n" +"PROLOGUE Timestamp,Latitude, Longitude, Altitude(ft), heart rate\n" "#\n" "# INDIVIDUAL DATA FIELDS:\n" "#\n" @@ -456,7 +456,7 @@ static char mxf[] = "#\n" "FIELD_DELIMITER COMMASPACE\n" "RECORD_DELIMITER NEWLINE\n" -"BADCHARS \",\n" +"BADCHARS ,\"\n" "#\n" "# INDIVIDUAL DATA FIELDS, IN ORDER OF APPEARANCE:\n" diff --git a/gpsbabel/reference/mxf.mxf b/gpsbabel/reference/mxf.mxf index ea6d6088e..98d93d1a0 100644 --- a/gpsbabel/reference/mxf.mxf +++ b/gpsbabel/reference/mxf.mxf @@ -1,9 +1,9 @@ -35.97203, -87.13470, Mountain Bike Heaven by susy1313, GCEBB, Mountain Bike Heaven by susy1313, ff0000, 47 -36.09068, -86.67955, The Troll by a182pilot & Family, GC1A37, The Troll by a182pilot & Family, ff0000, 47 -35.99627, -86.62012, Dive Bomber by JoGPS & family, GC1C2B, Dive Bomber by JoGPS & family, ff0000, 47 -36.03848, -86.64862, FOSTER by JoGPS & Family, GC25A9, FOSTER by JoGPS & Family, ff0000, 47 -36.11218, -86.74177, Logan Lighthouse by JoGps & Family, GC2723, Logan Lighthouse by JoGps & Family, ff0000, 47 -36.06408, -86.79052, Ganier Cache by Susy1313, GC2B71, Ganier Cache by Susy1313, ff0000, 47 -36.08777, -86.80973, Shy's Hill by FireFighterEng33, GC309F, Shy's Hill by FireFighterEng33, ff0000, 47 -36.05750, -86.89200, GittyUp by JoGPS / Warner Parks, GC317A, GittyUp by JoGPS / Warner Parks, ff0000, 47 -36.08280, -86.86728, Inlighting by JoGPS / Warner Parks, GC317D, Inlighting by JoGPS / Warner Parks, ff0000, 47 +35.97203, -87.13470, "Mountain Bike Heaven by susy1313", "GCEBB", "Mountain Bike Heaven by susy1313", ff0000, 47 +36.09068, -86.67955, "The Troll by a182pilot & Family", "GC1A37", "The Troll by a182pilot & Family", ff0000, 47 +35.99627, -86.62012, "Dive Bomber by JoGPS & family", "GC1C2B", "Dive Bomber by JoGPS & family", ff0000, 47 +36.03848, -86.64862, "FOSTER by JoGPS & Family", "GC25A9", "FOSTER by JoGPS & Family", ff0000, 47 +36.11218, -86.74177, "Logan Lighthouse by JoGps & Family", "GC2723", "Logan Lighthouse by JoGps & Family", ff0000, 47 +36.06408, -86.79052, "Ganier Cache by Susy1313", "GC2B71", "Ganier Cache by Susy1313", ff0000, 47 +36.08777, -86.80973, "Shy's Hill by FireFighterEng33", "GC309F", "Shy's Hill by FireFighterEng33", ff0000, 47 +36.05750, -86.89200, "GittyUp by JoGPS / Warner Parks", "GC317A", "GittyUp by JoGPS / Warner Parks", ff0000, 47 +36.08280, -86.86728, "Inlighting by JoGPS / Warner Parks", "GC317D", "Inlighting by JoGPS / Warner Parks", ff0000, 47 diff --git a/gpsbabel/style/mxf.style b/gpsbabel/style/mxf.style index e0229b792..606f40bb3 100644 --- a/gpsbabel/style/mxf.style +++ b/gpsbabel/style/mxf.style @@ -17,7 +17,7 @@ EXTENSION mxf # FIELD_DELIMITER COMMASPACE RECORD_DELIMITER NEWLINE -BADCHARS ", +BADCHARS ," # # INDIVIDUAL DATA FIELDS, IN ORDER OF APPEARANCE: -- 2.30.2